﻿#ifndef __SELECTION__
#define __SELECTION__
#include "SortTool.h"
//非适应性排序.
//第一次选择最小的，放到数组的最前面，第二次选择次小的，放到数组的第2的位置
//排序做了N-1 次交换，执行比较的次数与N的平方成正比

template <class item>
void selection(item arr[], int left, int right){
	if(arr == NULL || right == left) return ;
	assert(right > left);
	for(int i = left; i < right; ++i){
		int min = i;
		for(int j = i+1; j <= right; ++j){
			if(arr[min] > arr[j]){
				min = j;
			}
		}
		exchange(arr[min], arr[i]);
	}
}
#endif